The frustum culling algorithms for axis-aligned bounded boxes (AABB) were first developed in the context of traditional raster graphics. Here, simple tests are used on proxies for detailed geometries to purge objects, which do not intersect the frustum, effectively reducing the amount of geometric objects submitted for rendering. These tests are designed to quickly detect a majority of cases where objects do not intersect with the frustum view. The objects are trivially rejected when their AABBs can be separated from the frustum by one of the frustum planes. Current best-known software implementations of this algorithm are summarized in Assarsson, U. and Moller, T., “Optimized View Frustum Culling Algorithms for Bounding Boxes,” Journal of Graphics Tools, 5(1), pp. 2-22, 2500.
The best-known method (BKM) for frustum culling requires computing indices into a look-up table to read vertex coordinates of either a vertex laying farthest in the negative direction of a frustum plane normal (N-vertex) or a positive vertex (P-vertex) of an AABB, which are then inserted into plane equations to determine the position of the AABB with respect to the particular frustum plane. Conventionally, such a method is implemented on add-in graphics cards (GPU). Unfortunately, access to an external look-up table, to determine coordinates of either an N-vertex or a P-vertex of an AABB can make conventional frustum culling algorithms inefficient.